package cn.iocoder.yudao.module.trade.delivery.mq;

import cn.hutool.extra.spring.SpringUtil;
import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum;
import cn.iocoder.yudao.framework.region.RegionUtils;
import cn.iocoder.yudao.framework.region.enums.RegionDataSet;
import cn.iocoder.yudao.module.api.shop.info.dto.ShopInfoDTO;
import cn.iocoder.yudao.module.api.shop.info.message.ShopAuditPassMessage;
import cn.iocoder.yudao.module.api.shop.info.message.ShopInfoUpdateMessage;
import cn.iocoder.yudao.module.api.trade.delivery.enums.DeliveryExpressChargeModeEnum;
import cn.iocoder.yudao.module.trade.delivery.dal.dataobject.DeliveryPickUpStoreDO;
import cn.iocoder.yudao.module.trade.delivery.service.DeliveryExpressTemplateService;
import cn.iocoder.yudao.module.trade.delivery.service.DeliveryPickUpStoreService;
import cn.iocoder.yudao.module.trade.delivery.vo.DeliveryExpressTemplateChargeBaseVO;
import cn.iocoder.yudao.module.trade.delivery.vo.DeliveryExpressTemplateCreateReqVO;
import cn.iocoder.yudao.module.trade.delivery.vo.DeliveryExpressTemplateFreeBaseVO;
import cn.iocoder.yudao.module.trade.delivery.vo.DeliveryPickUpStoreSaveReqVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.context.event.EventListener;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * 配送中心 事件消费者
 *
 * @author 山野羡民
 */
@Component
@Slf4j
public class DeliveryConsumer {

    @EventListener
    @Async // Spring Event 默认在 Producer 发送的线程，通过 @Async 实现异步
    public void onMessage(ShopInfoUpdateMessage message) {
        log.info("[trade][onMessage][店铺信息更新事件({})]", message);
        handleMessage(message.getShopInfo());
    }

    @EventListener
    @Async // Spring Event 默认在 Producer 发送的线程，通过 @Async 实现异步
    public void onMessage(ShopAuditPassMessage message) {
        log.info("[trade][onMessage][店铺审核通过事件({})]", message);
        handleMessage(message.getShopInfo());
        DeliveryExpressTemplateCreateReqVO deliveryExpressTemplateCreateReqVO = new DeliveryExpressTemplateCreateReqVO();
        deliveryExpressTemplateCreateReqVO.setName("全国包邮（新疆、西藏、台湾除外）");
        deliveryExpressTemplateCreateReqVO.setChargeMode(DeliveryExpressChargeModeEnum.COUNT.getType());
        DeliveryExpressTemplateChargeBaseVO deliveryExpressTemplateChargeBaseVO = new DeliveryExpressTemplateChargeBaseVO();
        deliveryExpressTemplateChargeBaseVO.setAreaIds(getChargeAreaIds());
        deliveryExpressTemplateChargeBaseVO.setStartCount(1.0);
        deliveryExpressTemplateChargeBaseVO.setStartPrice(500);
        deliveryExpressTemplateChargeBaseVO.setExtraCount(5.0);
        deliveryExpressTemplateChargeBaseVO.setExtraPrice(1000);
        deliveryExpressTemplateCreateReqVO.setCharges(List.of(deliveryExpressTemplateChargeBaseVO));
        DeliveryExpressTemplateFreeBaseVO deliveryExpressTemplateFreeBaseVO = new DeliveryExpressTemplateFreeBaseVO();
        deliveryExpressTemplateFreeBaseVO.setAreaIds(getFreeAreaIds());
        deliveryExpressTemplateFreeBaseVO.setFreeCount(0);
        deliveryExpressTemplateFreeBaseVO.setFreePrice(1);
        deliveryExpressTemplateCreateReqVO.setFrees(List.of(deliveryExpressTemplateFreeBaseVO));
        deliveryExpressTemplateCreateReqVO.setSort(0);
        SpringUtil.getBean(DeliveryExpressTemplateService.class).createDeliveryExpressTemplate(message.getShopInfo().getId(), deliveryExpressTemplateCreateReqVO);
    }

    private List<Integer> getChargeAreaIds() {
        return List.of(540102, 540103, 540104, 540121, 540122, 540123, 540124, 540127, 540202, 540221, 540222, 540223, 540224, 540225, 540226, 540227, 540228, 540229, 540230, 540231, 540232, 540233, 540234, 540235, 540236, 540237, 540302, 540321, 540322, 540323, 540324, 540325, 540326, 540327, 540328, 540329, 540330, 540402, 540421, 540422, 540423, 540424, 540425, 540426, 540502, 540521, 540522, 540523, 540524, 540525, 540526, 540527, 540528, 540529, 540530, 540531, 540602, 540621, 540622, 540623, 540624, 540625, 540626, 540627, 540628, 540629, 540630, 542521, 542522, 542523, 542524, 542525, 542526, 542527, 650102, 650103, 650104, 650105, 650106, 650107, 650109, 650121, 650202, 650203, 650204, 650205, 650402, 650421, 650422, 650502, 650521, 650522, 652301, 652302, 652323, 652324, 652325, 652327, 652328, 652701, 652702, 652722, 652723, 652801, 652822, 652823, 652824, 652825, 652826, 652827, 652828, 652829, 652901, 652902, 652922, 652924, 652925, 652926, 652927, 652928, 652929, 653001, 653022, 653023, 653024, 653101, 653121, 653122, 653123, 653124, 653125, 653126, 653127, 653128, 653129, 653130, 653131, 653201, 653221, 653222, 653223, 653224, 653225, 653226, 653227, 654002, 654003, 654004, 654021, 654022, 654023, 654024, 654025, 654026, 654027, 654028, 654201, 654202, 654203, 654221, 654224, 654225, 654226, 654301, 654321, 654322, 654323, 654324, 654325, 654326, 1000, 2000, 3000, 4000, 5000, 6000, 7000, 8000, 9000, 10000, 11000, 710101, 710102, 710103, 710104, 710105, 710106, 710107, 710108, 710109, 710110, 710111, 710112, 710201, 710202, 710203, 710204, 710205, 710206, 710207, 710208, 710209, 710210, 710211, 710242, 710243, 710244, 710245, 710246, 710247, 710248, 710249, 710250, 710251, 710252, 710253, 710254, 710255, 710256, 710257, 710258, 710259, 710260, 710261, 710262, 710263, 710264, 710265, 710266, 710267, 710268, 710301, 710302, 710303, 710304, 710305, 710306, 710339, 710340, 710341, 710342, 710343, 710344, 710345, 710346, 710347, 710348, 710349, 710350, 710351, 710352, 710353, 710354, 710355, 710356, 710357, 710358, 710359, 710360, 710361, 710362, 710363, 710364, 710365, 710366, 710367, 710368, 710369, 710401, 710402, 710403, 710404, 710405, 710406, 710407, 710408, 710431, 710432, 710433, 710434, 710435, 710436, 710437, 710438, 710439, 710440, 710441, 710442, 710443, 710444, 710445, 710446, 710447, 710448, 710449, 710450, 710451, 710614, 710615, 710616, 710617, 710618, 710619, 710620, 710621, 710622, 710623, 710624, 710625, 710626, 710701, 710702, 710703, 710704, 710705, 710706, 710707, 710801, 710802, 710803, 710901, 710902, 711130, 711131, 711132, 711133, 711134, 711135, 711136, 711137, 711138, 711139, 711140, 711141, 711142, 711143, 711144, 711145, 711146, 711147, 711148, 711149, 711150, 711151, 711152, 711153, 711154, 711155, 711156, 711157, 711158, 711214, 711215, 711216, 711217, 711218, 711219, 711220, 711221, 711222, 711223, 711224, 711225, 711314, 711315, 711316, 711317, 711318, 711319, 711320, 711321, 711322, 711323, 711324, 711325, 711326, 711414, 711415, 711416, 711417, 711418, 711419, 711420, 711421, 711422, 711423, 711424, 711425, 711426, 711519, 711520, 711521, 711522, 711523, 711524, 711525, 711526, 711527, 711528, 711529, 711530, 711531, 711532, 711533, 711534, 711535, 711536, 711727, 711728, 711729, 711730, 711731, 711732, 711733, 711734, 711735, 711736, 711737, 711738, 711739, 711740, 711741, 711742, 711743, 711744, 711745, 711746, 711747, 711748, 711749, 711750, 711751, 711752, 711919, 711920, 711921, 711922, 711923, 711924, 711925, 711926, 711927, 711928, 711929, 711930, 711931, 711932, 711933, 711934, 711935, 711936, 712121, 712122, 712123, 712124, 712125, 712126, 712127, 712128, 712129, 712130, 712131, 712132, 712133, 712134, 712135, 712136, 712137, 712138, 712139, 712140, 712434, 712435, 712436, 712437, 712438, 712439, 712440, 712441, 712442, 712443, 712444, 712445, 712446, 712447, 712448, 712449, 712450, 712451, 712452, 712453, 712454, 712455, 712456, 712457, 712458, 712459, 712460, 712461, 712462, 712463, 712464, 712465, 712466, 712517, 712518, 712519, 712520, 712521, 712522, 712523, 712524, 712525, 712526, 712527, 712528, 712529, 712530, 712531, 712532, 712615, 712616, 712618, 712619, 712620, 712621, 712622, 712623, 712624, 712625, 712626, 712627, 712628, 712707, 712708, 712709, 712710, 712711, 712712);
    }

    private List<Integer> getFreeAreaIds() {
        return List.of(110101, 110102, 110105, 110106, 110107, 110108, 110109, 110111, 110112, 110113, 110114, 110115, 110116, 110117, 110118, 110119, 120101, 120102, 120103, 120104, 120105, 120106, 120110, 120111, 120112, 120113, 120114, 120115, 120116, 120117, 120118, 120119, 140105, 140106, 140107, 140108, 140109, 140110, 140121, 140122, 140123, 140181, 140212, 140213, 140214, 140215, 140221, 140222, 140223, 140224, 140225, 140226, 140302, 140303, 140311, 140321, 140322, 140403, 140404, 140405, 140406, 140423, 140425, 140426, 140427, 140428, 140429, 140430, 140431, 140502, 140521, 140522, 140524, 140525, 140581, 140602, 140603, 140621, 140622, 140623, 140681, 140702, 140703, 140721, 140722, 140723, 140724, 140725, 140727, 140728, 140729, 140781, 140802, 140821, 140822, 140823, 140824, 140825, 140826, 140827, 140828, 140829, 140830, 140881, 140882, 140902, 140921, 140922, 140923, 140924, 140925, 140926, 140927, 140928, 140929, 140930, 140931, 140932, 140981, 141002, 141021, 141022, 141023, 141024, 141025, 141026, 141027, 141028, 141029, 141030, 141031, 141032, 141033, 141034, 141081, 141082, 141102, 141121, 141122, 141123, 141124, 141125, 141126, 141127, 141128, 141129, 141130, 141181, 141182, 130102, 130104, 130105, 130107, 130108, 130109, 130110, 130111, 130121, 130123, 130125, 130126, 130127, 130128, 130129, 130130, 130131, 130132, 130133, 130181, 130183, 130184, 130202, 130203, 130204, 130205, 130207, 130208, 130209, 130224, 130225, 130227, 130229, 130281, 130283, 130284, 130302, 130303, 130304, 130306, 130321, 130322, 130324, 130402, 130403, 130404, 130406, 130407, 130408, 130423, 130424, 130425, 130426, 130427, 130430, 130431, 130432, 130433, 130434, 130435, 130481, 130502, 130503, 130505, 130506, 130522, 130523, 130524, 130525, 130528, 130529, 130530, 130531, 130532, 130533, 130534, 130535, 130581, 130582, 130602, 130606, 130607, 130608, 130609, 130623, 130624, 130626, 130627, 130628, 130629, 130630, 130631, 130632, 130633, 130634, 130635, 130636, 130637, 130638, 130681, 130682, 130683, 130684, 130702, 130703, 130705, 130706, 130708, 130709, 130722, 130723, 130724, 130725, 130726, 130727, 130728, 130730, 130731, 130732, 130802, 130803, 130804, 130821, 130822, 130824, 130825, 130826, 130827, 130828, 130881, 130902, 130903, 130921, 130922, 130923, 130924, 130925, 130926, 130927, 130928, 130929, 130930, 130981, 130982, 130983, 130984, 131002, 131003, 131022, 131023, 131024, 131025, 131026, 131028, 131081, 131082, 131102, 131103, 131121, 131122, 131123, 131124, 131125, 131126, 131127, 131128, 131182, 150102, 150103, 150104, 150105, 150121, 150122, 150123, 150124, 150125, 150202, 150203, 150204, 150205, 150206, 150207, 150221, 150222, 150223, 150302, 150303, 150304, 150402, 150403, 150404, 150421, 150422, 150423, 150424, 150425, 150426, 150428, 150429, 150430, 150502, 150521, 150522, 150523, 150524, 150525, 150526, 150581, 150602, 150603, 150621, 150622, 150623, 150624, 150625, 150626, 150627, 150702, 150703, 150721, 150722, 150723, 150724, 150725, 150726, 150727, 150781, 150782, 150783, 150784, 150785, 150802, 150821, 150822, 150823, 150824, 150825, 150826, 150902, 150921, 150922, 150923, 150924, 150925, 150926, 150927, 150928, 150929, 150981, 152201, 152202, 152221, 152222, 152223, 152224, 152501, 152502, 152522, 152523, 152524, 152525, 152526, 152527, 152528, 152529, 152530, 152531, 152921, 152922, 152923, 210102, 210103, 210104, 210105, 210106, 210111, 210112, 210113, 210114, 210115, 210123, 210124, 210181, 210202, 210203, 210204, 210211, 210212, 210213, 210214, 210224, 210281, 210283, 210302, 210303, 210304, 210311, 210321, 210323, 210381, 210402, 210403, 210404, 210411, 210421, 210422, 210423, 210502, 210503, 210504, 210505, 210521, 210522, 210602, 210603, 210604, 210624, 210681, 210682, 210702, 210703, 210711, 210726, 210727, 210781, 210782, 210802, 210803, 210804, 210811, 210881, 210882, 210902, 210903, 210904, 210905, 210911, 210921, 210922, 211002, 211003, 211004, 211005, 211011, 211021, 211081, 211102, 211103, 211104, 211122, 211202, 211204, 211221, 211223, 211224, 211281, 211282, 211302, 211303, 211321, 211322, 211324, 211381, 211382, 211402, 211403, 211404, 211421, 211422, 211481, 220102, 220103, 220104, 220105, 220106, 220112, 220113, 220122, 220182, 220183, 220184, 220202, 220203, 220204, 220211, 220221, 220281, 220282, 220283, 220284, 220302, 220303, 220322, 220323, 220382, 220402, 220403, 220421, 220422, 220502, 220503, 220521, 220523, 220524, 220581, 220582, 220602, 220605, 220621, 220622, 220623, 220681, 220702, 220721, 220722, 220723, 220781, 220802, 220821, 220822, 220881, 220882, 222401, 222402, 222403, 222404, 222405, 222406, 222424, 222426, 230102, 230103, 230104, 230108, 230109, 230110, 230111, 230112, 230113, 230123, 230124, 230125, 230126, 230127, 230128, 230129, 230183, 230184, 230202, 230203, 230204, 230205, 230206, 230207, 230208, 230221, 230223, 230224, 230225, 230227, 230229, 230230, 230231, 230281, 230302, 230303, 230304, 230305, 230306, 230307, 230321, 230381, 230382, 230402, 230403, 230404, 230405, 230406, 230407, 230421, 230422, 230502, 230503, 230505, 230506, 230521, 230522, 230523, 230524, 230602, 230603, 230604, 230605, 230606, 230621, 230622, 230623, 230624, 230717, 230718, 230719, 230722, 230723, 230724, 230725, 230726, 230751, 230781, 230803, 230804, 230805, 230811, 230822, 230826, 230828, 230881, 230882, 230883, 230902, 230903, 230904, 230921, 231002, 231003, 231004, 231005, 231025, 231081, 231083, 231084, 231085, 231086, 231102, 231123, 231124, 231181, 231182, 231183, 231202, 231221, 231222, 231223, 231224, 231225, 231226, 231281, 231282, 231283, 232701, 232721, 232722, 232761, 310101, 310104, 310105, 310106, 310107, 310109, 310110, 310112, 310113, 310114, 310115, 310116, 310117, 310118, 310120, 310151, 320102, 320104, 320105, 320106, 320111, 320113, 320114, 320115, 320116, 320117, 320118, 320205, 320206, 320211, 320213, 320214, 320281, 320282, 320302, 320303, 320305, 320311, 320312, 320321, 320322, 320324, 320381, 320382, 320402, 320404, 320411, 320412, 320413, 320481, 320505, 320506, 320507, 320508, 320509, 320581, 320582, 320583, 320585, 320612, 320613, 320614, 320623, 320681, 320682, 320685, 320703, 320706, 320707, 320722, 320723, 320724, 320803, 320804, 320812, 320813, 320826, 320830, 320831, 320902, 320903, 320904, 320921, 320922, 320923, 320924, 320925, 320981, 321002, 321003, 321012, 321023, 321081, 321084, 321102, 321111, 321112, 321181, 321182, 321183, 321202, 321203, 321204, 321281, 321282, 321283, 321302, 321311, 321322, 321323, 321324, 330102, 330105, 330106, 330108, 330109, 330110, 330111, 330112, 330113, 330114, 330122, 330127, 330182, 330203, 330205, 330206, 330211, 330212, 330213, 330225, 330226, 330281, 330282, 330302, 330303, 330304, 330305, 330324, 330326, 330327, 330328, 330329, 330381, 330382, 330383, 330402, 330411, 330421, 330424, 330481, 330482, 330483, 330502, 330503, 330521, 330522, 330523, 330602, 330603, 330604, 330624, 330681, 330683, 330702, 330703, 330723, 330726, 330727, 330781, 330782, 330783, 330784, 330802, 330803, 330822, 330824, 330825, 330881, 330902, 330903, 330921, 330922, 331002, 331003, 331004, 331022, 331023, 331024, 331081, 331082, 331083, 331102, 331121, 331122, 331123, 331124, 331125, 331126, 331127, 331181, 340102, 340103, 340104, 340111, 340121, 340122, 340123, 340124, 340181, 340202, 340207, 340209, 340210, 340212, 340223, 340281, 340302, 340303, 340304, 340311, 340321, 340322, 340323, 340402, 340403, 340404, 340405, 340406, 340421, 340422, 340503, 340504, 340506, 340521, 340522, 340523, 340602, 340603, 340604, 340621, 340705, 340706, 340711, 340722, 340802, 340803, 340811, 340822, 340825, 340826, 340827, 340828, 340881, 340882, 341002, 341003, 341004, 341021, 341022, 341023, 341024, 341102, 341103, 341122, 341124, 341125, 341126, 341181, 341182, 341202, 341203, 341204, 341221, 341222, 341225, 341226, 341282, 341302, 341321, 341322, 341323, 341324, 341502, 341503, 341504, 341522, 341523, 341524, 341525, 341602, 341621, 341622, 341623, 341702, 341721, 341722, 341723, 341802, 341821, 341823, 341824, 341825, 341881, 341882, 360102, 360103, 360104, 360111, 360112, 360113, 360121, 360123, 360124, 360202, 360203, 360222, 360281, 360302, 360313, 360321, 360322, 360323, 360402, 360403, 360404, 360423, 360424, 360425, 360426, 360428, 360429, 360430, 360481, 360482, 360483, 360502, 360521, 360602, 360603, 360681, 360702, 360703, 360704, 360722, 360723, 360724, 360725, 360726, 360728, 360729, 360730, 360731, 360732, 360733, 360734, 360735, 360781, 360783, 360802, 360803, 360821, 360822, 360823, 360824, 360825, 360826, 360827, 360828, 360829, 360830, 360881, 360902, 360921, 360922, 360923, 360924, 360925, 360926, 360981, 360982, 360983, 361002, 361003, 361021, 361022, 361023, 361024, 361025, 361026, 361027, 361028, 361030, 361102, 361103, 361104, 361123, 361124, 361125, 361126, 361127, 361128, 361129, 361130, 361181, 350102, 350103, 350104, 350105, 350111, 350112, 350121, 350122, 350123, 350124, 350125, 350128, 350181, 350203, 350205, 350206, 350211, 350212, 350213, 350302, 350303, 350304, 350305, 350322, 350404, 350405, 350421, 350423, 350424, 350425, 350426, 350428, 350429, 350430, 350481, 350502, 350503, 350504, 350505, 350521, 350524, 350525, 350526, 350527, 350581, 350582, 350583, 350602, 350603, 350604, 350605, 350622, 350623, 350624, 350626, 350627, 350628, 350629, 350702, 350703, 350721, 350722, 350723, 350724, 350725, 350781, 350782, 350783, 350802, 350803, 350821, 350823, 350824, 350825, 350881, 350902, 350921, 350922, 350923, 350924, 350925, 350926, 350981, 350982, 370102, 370103, 370104, 370105, 370112, 370113, 370114, 370115, 370116, 370117, 370124, 370126, 370202, 370203, 370211, 370212, 370213, 370214, 370215, 370281, 370283, 370285, 370302, 370303, 370304, 370305, 370306, 370321, 370322, 370323, 370402, 370403, 370404, 370405, 370406, 370481, 370502, 370503, 370505, 370522, 370523, 370602, 370611, 370612, 370613, 370614, 370681, 370682, 370683, 370685, 370686, 370687, 370702, 370703, 370704, 370705, 370724, 370725, 370781, 370782, 370783, 370784, 370785, 370786, 370811, 370812, 370826, 370827, 370828, 370829, 370830, 370831, 370832, 370881, 370883, 370902, 370911, 370921, 370923, 370982, 370983, 371002, 371003, 371082, 371083, 371102, 371103, 371121, 371122, 371302, 371311, 371312, 371321, 371322, 371323, 371324, 371325, 371326, 371327, 371328, 371329, 371402, 371403, 371422, 371423, 371424, 371425, 371426, 371427, 371428, 371481, 371482, 371502, 371503, 371521, 371522, 371524, 371525, 371526, 371581, 371602, 371603, 371621, 371622, 371623, 371625, 371681, 371702, 371703, 371721, 371722, 371723, 371724, 371725, 371726, 371728, 410102, 410103, 410104, 410105, 410106, 410108, 410122, 410181, 410182, 410183, 410184, 410185, 410202, 410203, 410204, 410205, 410212, 410221, 410222, 410223, 410225, 410302, 410303, 410304, 410305, 410307, 410308, 410311, 410323, 410324, 410325, 410326, 410327, 410328, 410329, 410402, 410403, 410404, 410411, 410421, 410422, 410423, 410425, 410481, 410482, 410502, 410503, 410505, 410506, 410522, 410523, 410526, 410527, 410581, 410602, 410603, 410611, 410621, 410622, 410702, 410703, 410704, 410711, 410721, 410724, 410725, 410726, 410727, 410781, 410782, 410783, 410802, 410803, 410804, 410811, 410821, 410822, 410823, 410825, 410882, 410883, 410902, 410922, 410923, 410926, 410927, 410928, 411002, 411003, 411024, 411025, 411081, 411082, 411102, 411103, 411104, 411121, 411122, 411202, 411203, 411221, 411224, 411281, 411282, 411302, 411303, 411321, 411322, 411323, 411324, 411325, 411326, 411327, 411328, 411329, 411330, 411381, 411402, 411403, 411421, 411422, 411423, 411424, 411425, 411426, 411481, 411502, 411503, 411521, 411522, 411523, 411524, 411525, 411526, 411527, 411528, 411602, 411603, 411621, 411622, 411623, 411624, 411625, 411627, 411628, 411681, 411702, 411721, 411722, 411723, 411724, 411725, 411726, 411727, 411728, 411729, 419001, 430102, 430103, 430104, 430105, 430111, 430112, 430121, 430181, 430182, 430202, 430203, 430204, 430211, 430212, 430223, 430224, 430225, 430281, 430302, 430304, 430321, 430381, 430382, 430405, 430406, 430407, 430408, 430412, 430421, 430422, 430423, 430424, 430426, 430481, 430482, 430502, 430503, 430511, 430522, 430523, 430524, 430525, 430527, 430528, 430529, 430581, 430582, 430602, 430603, 430611, 430621, 430623, 430624, 430626, 430681, 430682, 430702, 430703, 430721, 430722, 430723, 430724, 430725, 430726, 430781, 430802, 430811, 430821, 430822, 430902, 430903, 430921, 430922, 430923, 430981, 431002, 431003, 431021, 431022, 431023, 431024, 431025, 431026, 431027, 431028, 431081, 431102, 431103, 431122, 431123, 431124, 431125, 431126, 431127, 431128, 431129, 431181, 431202, 431221, 431222, 431223, 431224, 431225, 431226, 431227, 431228, 431229, 431230, 431281, 431302, 431321, 431322, 431381, 431382, 433101, 433122, 433123, 433124, 433125, 433126, 433127, 433130, 420102, 420103, 420104, 420105, 420106, 420107, 420111, 420112, 420113, 420114, 420115, 420116, 420117, 420202, 420203, 420204, 420205, 420222, 420281, 420302, 420303, 420304, 420322, 420323, 420324, 420325, 420381, 420502, 420503, 420504, 420505, 420506, 420525, 420526, 420527, 420528, 420529, 420581, 420582, 420583, 420602, 420606, 420607, 420624, 420625, 420626, 420682, 420683, 420684, 420702, 420703, 420704, 420802, 420804, 420822, 420881, 420882, 420902, 420921, 420922, 420923, 420981, 420982, 420984, 421002, 421003, 421022, 421024, 421081, 421083, 421087, 421088, 421102, 421121, 421122, 421123, 421124, 421125, 421126, 421127, 421181, 421182, 421202, 421221, 421222, 421223, 421224, 421281, 421303, 421321, 421381, 422801, 422802, 422822, 422823, 422825, 422826, 422827, 422828, 429004, 429005, 429006, 429021, 440103, 440104, 440105, 440106, 440111, 440112, 440113, 440114, 440115, 440117, 440118, 440203, 440204, 440205, 440222, 440224, 440229, 440232, 440233, 440281, 440282, 440303, 440304, 440305, 440306, 440307, 440308, 440309, 440310, 440311, 440402, 440403, 440404, 440507, 440511, 440512, 440513, 440514, 440515, 440523, 440604, 440605, 440606, 440607, 440608, 440703, 440704, 440705, 440781, 440783, 440784, 440785, 440802, 440803, 440804, 440811, 440823, 440825, 440881, 440882, 440883, 440902, 440904, 440981, 440982, 440983, 441202, 441203, 441204, 441223, 441224, 441225, 441226, 441284, 441302, 441303, 441322, 441323, 441324, 441402, 441403, 441422, 441423, 441424, 441426, 441427, 441481, 441502, 441521, 441523, 441581, 441602, 441621, 441622, 441623, 441624, 441625, 441702, 441704, 441721, 441781, 441802, 441803, 441821, 441823, 441825, 441826, 441881, 441882, 445102, 445103, 445122, 445202, 445203, 445222, 445224, 445281, 445302, 445303, 445321, 445322, 445381, 450102, 450103, 450105, 450107, 450108, 450109, 450110, 450123, 450124, 450125, 450126, 450181, 450202, 450203, 450204, 450205, 450206, 450222, 450223, 450224, 450225, 450226, 450302, 450303, 450304, 450305, 450311, 450312, 450321, 450323, 450324, 450325, 450326, 450327, 450328, 450329, 450330, 450332, 450381, 450403, 450405, 450406, 450421, 450422, 450423, 450481, 450502, 450503, 450512, 450521, 450602, 450603, 450621, 450681, 450702, 450703, 450721, 450722, 450802, 450803, 450804, 450821, 450881, 450902, 450903, 450921, 450922, 450923, 450924, 450981, 451002, 451003, 451022, 451024, 451026, 451027, 451028, 451029, 451030, 451031, 451081, 451082, 451102, 451103, 451121, 451122, 451123, 451202, 451203, 451221, 451222, 451223, 451224, 451225, 451226, 451227, 451228, 451229, 451302, 451321, 451322, 451323, 451324, 451381, 451402, 451421, 451422, 451423, 451424, 451425, 451481, 460105, 460106, 460107, 460108, 460202, 460203, 460204, 460205, 460301, 460302, 469001, 469002, 469005, 469006, 469007, 21000, 22000, 23000, 24000, 25000, 26000, 27000, 28000, 29000, 30000, 500101, 500102, 500103, 500104, 500105, 500106, 500107, 500108, 500109, 500110, 500111, 500112, 500113, 500114, 500115, 500116, 500117, 500118, 500119, 500120, 500151, 500152, 500153, 500154, 500155, 500156, 500229, 500230, 500231, 500233, 500235, 500236, 500237, 500238, 500240, 500241, 500242, 500243, 510104, 510105, 510106, 510107, 510108, 510112, 510113, 510114, 510115, 510116, 510117, 510118, 510121, 510129, 510131, 510181, 510182, 510183, 510184, 510185, 510302, 510303, 510304, 510311, 510321, 510322, 510402, 510403, 510411, 510421, 510422, 510502, 510503, 510504, 510521, 510522, 510524, 510525, 510603, 510604, 510623, 510681, 510682, 510683, 510703, 510704, 510705, 510722, 510723, 510725, 510726, 510727, 510781, 510802, 510811, 510812, 510821, 510822, 510823, 510824, 510903, 510904, 510921, 510923, 510981, 511002, 511011, 511024, 511025, 511083, 511102, 511111, 511112, 511113, 511123, 511124, 511126, 511129, 511132, 511133, 511181, 511302, 511303, 511304, 511321, 511322, 511323, 511324, 511325, 511381, 511402, 511403, 511421, 511423, 511424, 511425, 511502, 511503, 511504, 511523, 511524, 511525, 511526, 511527, 511528, 511529, 511602, 511603, 511621, 511622, 511623, 511681, 511702, 511703, 511722, 511723, 511724, 511725, 511781, 511802, 511803, 511822, 511823, 511824, 511825, 511826, 511827, 511902, 511903, 511921, 511922, 511923, 512002, 512021, 512022, 513201, 513221, 513222, 513223, 513224, 513225, 513226, 513227, 513228, 513230, 513231, 513232, 513233, 513301, 513322, 513323, 513324, 513325, 513326, 513327, 513328, 513329, 513330, 513331, 513332, 513333, 513334, 513335, 513336, 513337, 513338, 513401, 513402, 513422, 513423, 513424, 513426, 513427, 513428, 513429, 513430, 513431, 513432, 513433, 513434, 513435, 513436, 513437, 520102, 520103, 520111, 520112, 520113, 520115, 520121, 520122, 520123, 520181, 520201, 520203, 520204, 520281, 520302, 520303, 520304, 520322, 520323, 520324, 520325, 520326, 520327, 520328, 520329, 520330, 520381, 520382, 520402, 520403, 520422, 520423, 520424, 520425, 520502, 520521, 520523, 520524, 520525, 520526, 520527, 520581, 520602, 520603, 520621, 520622, 520623, 520624, 520625, 520626, 520627, 520628, 522301, 522302, 522323, 522324, 522325, 522326, 522327, 522328, 522601, 522622, 522623, 522624, 522625, 522626, 522627, 522628, 522629, 522630, 522631, 522632, 522633, 522634, 522635, 522636, 522701, 522702, 522722, 522723, 522725, 522726, 522727, 522728, 522729, 522730, 522731, 522732, 530102, 530103, 530111, 530112, 530113, 530114, 530115, 530124, 530125, 530126, 530127, 530128, 530129, 530181, 530302, 530303, 530304, 530322, 530323, 530324, 530325, 530326, 530381, 530402, 530403, 530423, 530424, 530425, 530426, 530427, 530428, 530481, 530502, 530521, 530523, 530524, 530581, 530602, 530621, 530622, 530623, 530624, 530625, 530626, 530627, 530628, 530629, 530681, 530702, 530721, 530722, 530723, 530724, 530802, 530821, 530822, 530823, 530824, 530825, 530826, 530827, 530828, 530829, 530902, 530921, 530922, 530923, 530924, 530925, 530926, 530927, 532301, 532302, 532322, 532323, 532324, 532325, 532326, 532327, 532328, 532329, 532501, 532502, 532503, 532504, 532523, 532524, 532525, 532527, 532528, 532529, 532530, 532531, 532532, 532601, 532622, 532623, 532624, 532625, 532626, 532627, 532628, 532801, 532822, 532823, 532901, 532922, 532923, 532924, 532925, 532926, 532927, 532928, 532929, 532930, 532931, 532932, 533102, 533103, 533122, 533123, 533124, 533301, 533323, 533324, 533325, 533401, 533422, 533423, 610102, 610103, 610104, 610111, 610112, 610113, 610114, 610115, 610116, 610117, 610118, 610122, 610124, 610202, 610203, 610204, 610222, 610302, 610303, 610304, 610305, 610323, 610324, 610326, 610327, 610328, 610329, 610330, 610331, 610402, 610403, 610404, 610422, 610423, 610424, 610425, 610426, 610428, 610429, 610430, 610431, 610481, 610482, 610502, 610503, 610522, 610523, 610524, 610525, 610526, 610527, 610528, 610581, 610582, 610602, 610603, 610621, 610622, 610625, 610626, 610627, 610628, 610629, 610630, 610631, 610632, 610681, 610702, 610703, 610722, 610723, 610724, 610725, 610726, 610727, 610728, 610729, 610730, 610802, 610803, 610822, 610824, 610825, 610826, 610827, 610828, 610829, 610830, 610831, 610881, 610902, 610921, 610922, 610923, 610924, 610925, 610926, 610927, 610929, 610981, 611002, 611021, 611022, 611023, 611024, 611025, 611026, 630102, 630103, 630104, 630105, 630106, 630121, 630123, 630202, 630203, 630222, 630223, 630224, 630225, 632221, 632222, 632223, 632224, 632301, 632322, 632323, 632324, 632521, 632522, 632523, 632524, 632525, 632621, 632622, 632623, 632624, 632625, 632626, 632701, 632722, 632723, 632724, 632725, 632726, 632801, 632802, 632803, 632821, 632822, 632823, 632825, 620102, 620103, 620104, 620105, 620111, 620121, 620122, 620123, 620302, 620321, 620402, 620403, 620421, 620422, 620423, 620502, 620503, 620521, 620522, 620523, 620524, 620525, 620602, 620621, 620622, 620623, 620702, 620721, 620722, 620723, 620724, 620725, 620802, 620821, 620822, 620823, 620825, 620826, 620881, 620902, 620921, 620922, 620923, 620924, 620981, 620982, 621002, 621021, 621022, 621023, 621024, 621025, 621026, 621027, 621102, 621121, 621122, 621123, 621124, 621125, 621126, 621202, 621221, 621222, 621223, 621224, 621225, 621226, 621227, 621228, 622901, 622921, 622922, 622923, 622924, 622925, 622926, 622927, 623001, 623021, 623022, 623023, 623024, 623025, 623026, 623027, 640104, 640105, 640106, 640121, 640122, 640181, 640202, 640205, 640221, 640302, 640303, 640323, 640324, 640381, 640402, 640422, 640423, 640424, 640425, 640502, 640521, 640522);
    }

    static void handleMessage(ShopInfoDTO shopInfo) {
        if (shopInfo == null) {
            log.warn("[trade][handleMessage][店铺信息不存在]");
            return;
        }
        DeliveryPickUpStoreService deliveryPickUpStoreService = SpringUtil.getBean(DeliveryPickUpStoreService.class);
        DeliveryPickUpStoreSaveReqVO reqVO = toDeliveryPickUpStoreSaveReqVO(shopInfo);
        DeliveryPickUpStoreDO storeDO = deliveryPickUpStoreService.getDeliveryPickUpStoreByShopName(shopInfo.getId(), shopInfo.getName());
        if (storeDO == null) {
            log.warn("[trade][handleMessage][店铺对应的门店信息不存在({}/{})]", shopInfo.getId(), shopInfo.getName());
        } else {
            reqVO.setId(storeDO.getId());
        }
        deliveryPickUpStoreService.saveDeliveryPickUpStore(reqVO);
    }

    static DeliveryPickUpStoreSaveReqVO toDeliveryPickUpStoreSaveReqVO(ShopInfoDTO shopInfo) {
        RegionUtils.autoAssignCounty(RegionDataSet.ONLY_LATEST, shopInfo.getCountyCode(), shopInfo);
        DeliveryPickUpStoreSaveReqVO reqVO = new DeliveryPickUpStoreSaveReqVO();
        reqVO.setShopId(shopInfo.getId());
        reqVO.setName(shopInfo.getName());
        reqVO.setLogo(shopInfo.getLogo());
        reqVO.setPhone(shopInfo.getContactMobile());
        reqVO.setOpeningTime(shopInfo.getOpeningTime());
        reqVO.setClosingTime(shopInfo.getClosingTime());
        reqVO.setIntroduction(shopInfo.getIntroduction());
        reqVO.setAreaId(RegionUtils.convertRegionCodeToId(shopInfo.getCountyCode()));
        reqVO.setDetailAddress(shopInfo.getDetailAddress());
        reqVO.setLatitude(shopInfo.getLatitude());
        reqVO.setLongitude(shopInfo.getLongitude());
        reqVO.setStatus(CommonStatusEnum.ENABLE.getStatus());
        return reqVO;
    }

}
